function getIdFromUrl(url) {
    const regex = /_(\d+)/;
    const matches = url.match(regex);
    if (matches && matches.length > 1) {
        return matches[1];  // 返回第一个捕获组中的数字
    }
    return null;  // 没有匹配到id时返回null
}

// 切换右侧菜单激活样式
function active_readed_menu(url) {
    let links = $(".article-menu-detail a");
    let href_id = 0;
    $.each(links, function () {
        let href = $(this).attr("href");
        href_id = getIdFromUrl(href);
        if (href_id == GV.doc_id) {
            $(this).addClass("jstree-clicked");
            $(this).parents().removeClass("collapse-hide")
            $(this).parent().addClass("readed");
        } else {
            $(this).removeClass("jstree-clicked");
            $(this).parent().removeClass("readed");
        }
    });
    let offset_top = $(".article-menu-detail a.jstree-clicked").offset().top;
    let scroll_top = $('.article-menu').scrollTop();
    $('.article-menu').animate({scrollTop: scroll_top + offset_top - 180}, 300);
}

$(function () {
    // 移动端右侧目录显示(顶部和右下)
    $("#sidebarToggle,.book-menu").on("click", function () {
        $(".m-manual").addClass('manual-mobile-show-left');
    });
    // 移动端右侧目录隐藏
    $(".manual-mask").on("click", function () {
        $(".m-manual").removeClass('manual-mobile-show-left');
    });
    // 移动端目录点连接隐藏目录
    $(".manual-left").on("click", "a", function () {
        if ($(".manual-mode-view").hasClass("manual-mobile-show-left")) {
            $(".manual-mask").trigger("click");
        }
    });
    // 返回顶部
    $(".view-backtop").on("click", function () {
        $('.manual-right').animate({scrollTop: '0px'}, 200);
    });
    // 右侧目录显示或隐藏
    $("#catalogToggle").on("click", function () {
        if ($(".manual-left").hasClass("manual-left-toggle")) {
            $(".manual-left").removeClass("manual-left-toggle");
            $(".manual-right").removeClass("manual-right-toggle");
            $("header").removeClass("manual-left-toggle");
        } else {
            $(".manual-left").addClass("manual-left-toggle");
            $("header").addClass("manual-left-toggle");
            $(".manual-right").addClass("manual-right-toggle");
        }
    });
    // 白天黑夜切换
    $(".btn-theme,.book-theme").click(function () {
        if ($("html").hasClass("theme-dark")) {
            $("html").removeClass("theme-dark")
            setCookie('theme-dark', false, 3600 * 24 * 1000);
        } else {
            $("html").addClass("theme-dark")
            setCookie('theme-dark', true, 3600 * 24 * 1000);
        }
    })

    function setCookie(name, value, time) {
        var exp = new Date();
        exp.setTime(exp.getTime() + time);
        document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString();
    }

    // 显示隐藏toc
    $(".article-toggle").click(function () {
        if ($("body").hasClass("article-menu-hide")) {
            $("body").removeClass("article-menu-hide");
        } else {
            $("body").addClass("article-menu-hide");
        }
    });
    // 展开或收起二级菜单
    $(".collapse-menu .collapse-node span").click(function (e) {
        if ($(this).parent().hasClass("collapse-hide")) {
            $(this).parent().removeClass("collapse-hide")
        } else {
            $(this).parent().addClass("collapse-hide")
        }
    });
    // 搜索相关
    function toggle_btn_clear(show) {
        if (show) {
            $(".article-search .input-group-addon-clear").css({"display": "table-cell"});
            $(".related-link div").addClass("hidden");
        } else {
            $(".article-search .input-group-addon-clear").attr("style", "");
            $(".related-link div").removeClass("hidden");
            $(".article-menu-detail").show()
            $(".search-result").hide()
        }
    }

    $("#searchForm [name=keyword]").keyup(function () {
        toggle_btn_clear($.trim($(this).val()));
    });
    $(".input-group-addon-clear").click(function () {
        $("#searchForm [name=keyword]").val("");
        $(".search-result").hide();
        $(".article-menu-detail").show();
        $(this).attr("")
        toggle_btn_clear(false);
    });
    $("#searchForm [type=submit]").click(function (e) {
        NProgress.start();
        e.preventDefault();
        var form = $("#searchForm");
        var wd = $.trim(form.find("[name=keyword]").val());
        var book_id = $.trim(form.find("[name=book_id]").val());
        $.post(form.attr("action"), {"keyword": wd, 'book_id': book_id}, function (ret) {
            var html = "";
            wd = wd.replace(/"/g, "");
            if (ret.status === 1) {
                for (var i in ret.data) {
                    var item = ret.data[i];
                    html += '<li><a data-wd="' + wd + '" href="javascript:;" title="' + item.title + '" data-id="' + item.id + '"> ' + item.title + ' </a></li>';
                }
            }
            $("#searchList").html(html);
            if (html) {
                $(".article-menu-detail").hide();
                $(".search-result").show();
                $(".search-empty").hide();
            } else {
                $(".article-menu-detail").hide();
                $(".search-result").show();
                $(".search-empty").show();
            }
            NProgress.done();
        })
    });
});